package com.itheima.jobs;

import com.itheima.constant.RedisConstant;
import com.itheima.utils.QiniuUtils;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.JedisPool;

import java.util.Set;

public class CleanImgJob {

    //本地注入
    @Autowired
    private JedisPool jedisPool;


    public void cleanImg() {
       //计算两个集合的差值
        Set<String> set = jedisPool.getResource().sdiff(RedisConstant.SETMEAL_PIC_RESOURCES, RedisConstant.SETMEAL_PIC_DB_RESOURCES);

        //判断相减之后还有没有数据
        if(set != null) {
            //取出所有的数据
            for (String proName : set) {
                //调用工具类删除云端的
                QiniuUtils.deleteFileFromQiniu(proName);
                System.out.println("删除云端");
                //删除redis里面多余的
                jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES,proName);
                System.out.println("删除redis");
            }
        }else if(set == null){
            //如果比对后，相差的值 等于空  表示没有垃圾图片
            // TODO: 2020/10/15 将redis里面所有数据删除  可以用吗？
        }
    }
}
